package org.soderiakelvy.controller.sujeto;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import org.soderiakelvy.model.domain.FrioCalorVO;
import org.soderiakelvy.model.domain.SucursalVO;
import org.soderiakelvy.model.service.ProductoServicio;
import org.soderiakelvy.model.service.imp.ProductoServicioImp;

@ManagedBean
@ViewScoped
public class SujetoAguaDeRed {
	private SucursalVO sucursal;
	private ProductoServicio productoService;
	private List<FrioCalorVO> equiposDisponibles;
	private List<FrioCalorVO> equiposAssigned;
	private String result;

	//--- CONSTRUCTOR ---
	public SujetoAguaDeRed(){
		iniciarComponentes();
		FacesContext fc = FacesContext.getCurrentInstance();
		Map<String,Object> sessionParams = fc.getExternalContext().getSessionMap();
		//sucursal = (SucursalVO) sessionParams.get("sucursalFrioCalor");
		equiposDisponibles = productoService.getFrioCalorDeAguaDeRed();
		result = (String) sessionParams.get("tipoCrud");
		System.out.println("Resullll "+result);
	}
	
	
	private void iniciarComponentes(){
		System.out.println("Vista iniciando");
		productoService = new ProductoServicioImp();		
		equiposAssigned = new ArrayList<FrioCalorVO>();
	}

	public void assigAguaDeRed(FrioCalorVO fc){
		System.out.println("Assignando: "+fc.getMarca());
		equiposAssigned.add(fc);
		equiposDisponibles.remove(fc);
	}
	
	public void removeAguaDeRed(FrioCalorVO fc){
		equiposDisponibles.add(fc);
		equiposAssigned.remove(fc);
		System.out.println("Quitando: "+fc.getMarca());
	}
	
	//--- GET AND SET
	public SucursalVO getSucursal() {
		return sucursal;
	}

	public void setSucursal(SucursalVO sucursal) {
		this.sucursal = sucursal;
	}

	public List<FrioCalorVO> getEquiposAssigned() {
		return equiposAssigned;
	}


	public List<FrioCalorVO> getEquiposDisponibles() {
		return equiposDisponibles;
	}

	
}
